package sistema.controleVendas.persistencia;

import java.util.List;

import javax.persistence.EntityManager;

import sistema.controleVendas.entidades.Contas;

public class GerenciarContasPersistencia {
	EntityManager em = Conexao.contectar();
	public Contas adicionarConta(Contas conta){
		em.getTransaction().begin();
		em.persist(conta);
		em.getTransaction().commit();
		return conta;
	}
	public void atulizarConta(Contas conta){
		em.getTransaction().begin();
		em.persist(conta);
		em.getTransaction().commit();
	}
	public void removerConta(Contas conta){
		em.getTransaction().begin();
		em.remove(conta);
		em.getTransaction().commit();
	}
	public List<Contas> listarContas(){
		return em.createQuery("Select c From Contas c").getResultList();
	}
	public List<Contas> listarContasPorTipo(Contas conta){
		return em.createQuery("Select c From Contas c Where c.tipoConta.id=:param")
		.setParameter("param", conta.getTipoConta().getId())
		.getResultList();
	}
	public Contas buscarConta(Contas conta){
		return (Contas)em.createQuery("Select c From Contas c Where c.id=:param")
		.setParameter("param", conta.getId())
		.getSingleResult();
	}

}
